Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour France F3 Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F34 Spain F35 Portugal F4 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F18 Spain F19 Portugal F5 Spain F20 Spain F30 Spain F31 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 Spain F3 Spain F4 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F13 Spain F20 Spain F21 France F12 Spain F5 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 United Arab Emirates F2 Spain F36 France F4 Spain F28 Spain F37 Spain F38 France F1 France F2 France F5 France F20 France F9 France F11 France F14 Belgium F7 Italy F2 France F15 Italy F3 France F21 France F1 France F2 France F3 Great Britain F4 France F4 France F5 France F6 France F7 France F8 Spain F10 Sweden F2 Spain F36 Spain F11 Spain F15 Spain F16 Belgium F1 France F10 Spain F14 France F11 France F12 Spain F15 Germany F12 France F12 Belgium F8 Belgium F10 Germany F16 Sweden F5 Sweden F6 France F21 Great Britain F3 Great Britain F5 France F4 Ukraine F1 Ukraine F2 France F9 Ukraine F3 Egypt F13 Egypt F14 France F8 France F9 Ukraine F4 Ukraine F5 Portugal F6 France F11 France F12 France F13 France F14 France F15 Belgium F9 Belgium F10 Germany F3 Netherlands F5 Romania F13 France F1 France F2 Egypt F6 France F4 France F6 France F7 Ukraine F3 Italy F14 France F11 Sweden F3 France F12 France F13 Belgium F8 Belgium F9 Italy F22 Netherlands F6 Belgium F9 France F1 France F2 Germany F3 France F6 France F1 France F12 Italy F27 Spain F33 Spain F3 France F1 (Bagnoles-de-l'Orne) Spain F17 Romania F11 Hungary F4 (Gyula) France F14 (Bourg-en-Bresse) France F20 (Plaisir) France F22 (Nevers) France F23 (Saint-Dizier) France F24 (Rodez) Czech Republic F12 (Prague) France F1 (Bagnoles-de-l'Orne) France F2 (Bressuire) Romania F10 Spain F33 Leon Challenger Istanbul Challenger Courmayeur Challenger Rennes Challenger Aix En Provence Challenger San Benedetto Challenger Scheveningen Challenger Egypt F7 Biella Challenger Manerbio Challenger Szczecin Challenger Brest Challenger Cherbourg Challenger St. Brieuc Challenger Aix En Provence Challenger Marburg Challenger Bastad Challenger Istanbul Challenger Orleans Challenger Ortisei Challenger Mouilleron-Le-Captif Challenger Playford Challenger Quimper Challenger Heilbronn Challenger Poznan Challenger Milan Challenger Lyon Challenger Blois Challenger Ludwigshafen Challenger Prague Challenger Netherlands F5 Augsburg Challenger Portoroz Challenger Como Challenger Szczecin Challenger Orleans Challenger Ismaning Challenger Bratislava Challenger Maia Challenger Rennes Challenger Quimper Challenger Quimper Challenger Cherbourg Challenger Mamaia Challenger - Constanta Kos Succhetti Tennis Cup - Cordenons Lyon Challenger Barcelona Open BancSabadell - Barcelona Budapest Challenger Bordeaux Challenger Meerbusch Challenger Luedenscheid Challenger Mallorca Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Blois Challenger Orbetello Challenger Helsinki Challenger Seville Challenger Quimper Challenger Portoroz Challenger Prague Challenger Liberec Challenger Tanger Challenger Ostrava Challenger Nottingham Challenger Manerbio Challenger Ilkley Challenger Seville Challenger Izmir Challenger Malaga Challenger Rennes Challenger Segovia Challenger Vancouver Challenger Heilbronn Challenger Quimper Challenger Casablanca Challenger Szczecin Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Porto Challenger Prague 3 Challenger Mallorca Challenger Lisbon Challenger Olbia Challenger Brest Challenger Furth Challenger Blois Challenger Poznan Challenger Ismaning Challenger Calgary Challenger Petange Challenger Oeiras 1 Challenger Quimper Challenger Girona Challenger Quimper Challenger St. Brieuc Challenger Le Gosier Challenger Ostrava Challenger Lyon Challenger Alphen Challenger Francavilla Challenger Rennes Challenger Ostrava Challenger St. Tropez Challenger Villena Challenger Prostejov Challenger Lisbon Challenger Blois Challenger Roanne Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Sophia Antipolis Challenger Barletta Challenger Quimper Challenger Guangzhou Challenger Ortisei Challenger Quimper Challenger Tarragona Challenger Rennes Challenger Pau Challenger Rabat Challenger Tallahassee Challenger Reggio Emilia Challenger Recanati Challenger Tampere Challenger Hamburg Challenger Maia Challenger Antalya 2 Challenger Sao Paulo Challenger Biella 2 Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger Guangzhou Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Western & Southern Open - Cincinnati Trnava Challenger Madrid Challenger Ostrava Challenger Eckental Challenger Western & Southern Open - Cincinnati Kazan Challenger Meknes Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Mersin Challenger Kosice Challenger Milan Challenger Marrakech Challenger Como Challenger Alphen Challenger Trnava Challenger Rennes Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Cherbourg Challenger St. Brieuc Challenger St. Brieuc Challenger Bordeaux Challenger Kosice Challenger Mersin Challenger St. Tropez Challenger Todi Challenger San Benedetto Challenger Guimaraes Challenger Kyiv Challenger Biel Challenger Alicante Challenger Cap Cana Challenger Morelia Challenger Tunis Challenger Busan Challenger Tenerife Challenger Alphen Challenger Istanbul Challenger Pau Challenger Turin Challenger Le Gosier Challenger Aix En Provence Challenger Alphen Challenger Cherbourg Challenger Pau Challenger Jonkoping Challenger Mouilleron-Le-Captif Challenger Seville Challenger Lille Challenger St. Brieuc Challenger Mestre Challenger Barletta Challenger Prague 1 Challenger Todi Challenger Aix En Provence Challenger Heilbronn Challenger Liberec Challenger Bordeaux Challenger Szczecin Challenger Furth Challenger Porto Challenger Rome Challenger Bordeaux Challenger Furth Challenger Trnava Challenger Cassis Challenger Meerbusch Challenger Quimper Challenger Bergamo Challenger Drummondville Challenger Aix En Provence Challenger Aix En Provence Challenger Surbiton Challenger Nottingham Challenger Madrid Challenger Stanford Challenger Cassis Challenger St. Tropez Challenger Orleans Challenger Alicante Challenger Bratislava 2 Challenger Brest Challenger Alphen Challenger Drummondville Challenger Rennes Challenger Cherbourg Challenger Split Challenger Phoenix Challenger Bordeaux Challenger Rennes Challenger Cassis Challenger Olbia Challenger Mouilleron-Le-Captif Challenger Brescia Challenger Andria Challenger San Diego Challenger Lille Challenger Forli 6 Challenger Phoenix Challenger Heilbronn Challenger Girona Challenger Rennes Challenger Braga Challenger Malaga Challenger Oeiras 2 Challenger Brest Challenger Brest Challenger Forli 4 Challenger Orleans Challenger Yokohama Challenger Noumea Challenger Manama Challenger Glasgow Challenger Segovia Challenger Mouilleron-Le-Captif Challenger Bergamo Challenger Oeiras 3 Challenger Parma Challenger Ismaning Challenger Parma Challenger Pozoblanco Challenger Estoril Open - Estoril Tunis Challenger Vicenza Challenger Estoril Open - Estoril Open 13 - Marseille Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney Winston-Salem Open - Winston-Salem Valencia Open - Valencia Apia International - Sydney Rio Open 500 - Rio de Janeiro Grand Prix Hassan II - Casablanca Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Moselle Open - Metz China Open - Beijing If Stockholm Open - Stockholm Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Vegeta Croatia Open - Umag Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia BRD Nastase Tiriac Trophy - Bucharest Winston-Salem Open - Winston-Salem Moselle Open - Metz Rakuten Japan Open - Tokyo Erste Bank Open - Vienna ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Moselle Open - Metz Chengdu Open - Chengdu China Open - Beijing European Open - Antwerp ASB Classic - Auckland Rio Open - Rio de Janeiro Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Moselle Open - Metz St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland ABN AMRO World Tennis Tournament - Rotterdam Generali Open - Kitzbuhel European Open - Antwerp Maia Challenger Hamburg European Open - Hamburg Open 13 Provence - Marseille Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Open Parc - Lyon Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Serbia Open - Belgrade Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Mallorca Championships - Mallorca Nordea Open - Bastad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz European Open - Antwerp Stockholm Open - Stockholm Swiss Indoors Basel - Basel Erste Bank Open - Vienna San Diego Open - San Diego Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Adelaide International 1 - Adelaide ASB Classic - Auckland Open Sud de France - Montpellier Cordoba Open - Cordoba ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Copa Claro - Buenos Aires ASB Classic - Auckland If Stockholm Open - Stockholm Open Sud de France - Montpellier Power Horse Cup - Dusseldorf Millennium Estoril Open - Estoril Terra Wortmann Open - Halle Mallorca Championships - Mallorca Belgrade Open - Belgrade ABN AMRO Open - Rotterdam Abierto Mexicano Telcel - Acapulco Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Open Sud de France - Montpellier AEGON Championships - London Aegon Nottingham Open - Nottingham Abierto Mexicano Telcel - Acapulco Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Vegeta Croatia Open - Umag Malaysian Open - Kuala Lumpur Winston-Salem Open - Winston-Salem Moselle Open - Metz Millennium Estoril Open - Estoril ABN AMRO World Tennis Tournament - Rotterdam Rakuten Japan Open - Tokyo St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Noventi Open - Halle ASB Classic - Auckland Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Swiss Open - Gstaad Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Open Sud de France - Montpellier Dubai Duty Free Tennis Championships - Dubai Cordoba Open - Cordoba Argentina Open - Buenos Aires Mercedes Cup - Stuttgart Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Chile Dove Men+Care Open - Santiago Valencia Open - Valencia Millennium Estoril Open - Estoril BMW Open - Munich Infosys Hall of Fame Open - Newport Infosys Hall of Fame Open - Newport Truist Atlanta Open - Atlanta Citi Open - Washington Moselle Open - Metz Open 13 - Marseille Dallas Open - Dallas Delray Beach Open - Delray Beach Mifel Tennis Open - Los Cabos Abierto Mexicano Telcel - Acapulco Open Parc - Lyon Winston-Salem Open - Winston-Salem Antalya Cup - Antalya Open Occitanie - Montpellier Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Swiss Indoors Basel - Basel Open Sud de France - Montpellier Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril VTR Open - Vina del Mar cinch Championships - London Noumea Challenger Lisbon Challenger Cassis Challenger Bratislava Challenger Winston-Salem Open - Winston-Salem Estoril Open - Estoril Copa Claro - Buenos Aires Qatar ExxonMobil Open - Doha Kremlin Cup - Moscow Open 13 Provence - Marseille Mallorca Championships - Mallorca BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid St. Petersburg Open - St. Petersburg Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Chengdu Open - Chengdu European Open - Antwerp Open Sud de France - Montpellier National Bank Open - Toronto Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Shenzhen Open - Shenzhen Miami Open - Miami Swiss Indoors Basel - Basel Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Barcelona Open BancSabadell - Barcelona Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo St. Petersburg Open - St. Petersburg Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Australian Open - Melbourne Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, 1R, POR-BRA 3-1 All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo French Open - Paris Wimbledon - London Rogers Cup - Toronto Australian Open - Melbourne U.S. Open - New York Bratislava 2 Challenger Australian Open - Melbourne Kobe Challenger BNP Paribas Open - Indian Wells Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wuxi Challenger Wimbledon - London Gwangju Challenger Nottingham 2 Challenger Wimbledon - London Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, Group I, 1R, AUT-POR 1-3 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group I, PO, UKR-POR 3-1 Wimbledon - London Winston-Salem Open - Winston-Salem Davis Cup, Group I, PO, POR-RSA 4-0 Noumea Challenger